library(tidyverse)
library(ggplot2)
library(dplyr)
library(lubridate)
library(corrr)
library(haven)

Read in data file


firms <- read_dta('../data/firmquarter_2022q1.dta')
firms 
NA

Find entries whose COVID Net Sentiment isn’t 0

NonZero_Firms <- firms |> 
      filter(`Covid_Net_Sentiment` != 0) |> 
      filter(hqcountrycode == 'US') |> 
      mutate(date_earningscall = dmy(date_earningscall)) 
      
NonZero_Firms 

Find firms (and their earnings calls) the largest Deltas in their Net COVID Sentiments over time.


Min_Max_Net_COVID_Sentiments <- NonZero_Firms |> 
                                    group_by(company_name) |> 
                                    mutate(Min_Net_COVID_Sentiment = min(Covid_Net_Sentiment)) |> 
                                    mutate(Max_Net_COVID_Sentiment = max(Covid_Net_Sentiment)) |> 
                                    mutate(Delta_Net_COVID_Sentiment = Max_Net_COVID_Sentiment - Min_Net_COVID_Sentiment) |> 
                                    arrange(desc(Delta_Net_COVID_Sentiment))
  
Min_Max_Net_COVID_Sentiments  

write_csv(Min_Max_Net_COVID_Sentiments, '../data/Min_Max_Net_COVID_Sentiments.csv')

Find top firms with the largest Deltas in their Net COVID Sentiments over time.


Top_Firms <- Min_Max_Net_COVID_Sentiments  |> 
                  distinct(company_name)  
Top_Firms

write_csv(Top_Firms, '../data/Top_Firms.csv')

Dates_Min_Max_Net_COVID_Sentiments <- Min_Max_Net_COVID_Sentiments |> 
          group_by(company_name) |> 
          filter(Covid_Net_Sentiment == Min_Net_COVID_Sentiment | Covid_Net_Sentiment == Max_Net_COVID_Sentiment) |> 
          arrange(desc(Delta_Net_COVID_Sentiment))

Dates_Min_Max_Net_COVID_Sentiments


write_csv(Dates_Min_Max_Net_COVID_Sentiments, '../data/Dates_Min_Max_Net_COVID_Sentiments.csv')

Duration Calculation: Find how long it took each firm to traverse the Delta between its lowest and highest Net COVID Sentiment:


Journey_Duration_Min_Max_Net_COVID_Sentiments <- Dates_Min_Max_Net_COVID_Sentiments |> 
                                                      group_by(company_name) |> 
                                                      mutate(Journey_Duration = interval(date_earningscall))
Error in `mutate()`:
ℹ In argument: `Journey_Duration = interval(date_earningscall)`.
ℹ In group 1: `company_name = "1-800-Flowers.Com Inc"`.
Caused by error:
! `Journey_Duration` must be size 2 or 1, not 0.
Backtrace:
 1. dplyr::mutate(...)
 8. dplyr:::dplyr_internal_error(...)

Find how long it took each firm to traverse the Delta between its lowest and highest Net COVID Sentiment:


Journey_Duration <- Min_Max_Net_COVID_Sentiments |> 
                     group_by(company_name) |> 
                     mutate(Start_Date = Min_Max_Net_COVID_Sentiments$date_earningscall where (Covid_Net_Sentiment==min(Covid_Net_Sentiment)))
Error: unexpected symbol in:
"                     group_by(company_name) |> 
                     mutate(Start_Date = Min_Max_Net_COVID_Sentiments$date_earningscall where"
LS0tCnRpdGxlOiAiRmluZGluZyBGaXJtcyB3aXRoIExhcmdlc3QgRGVsdGEgaW4gTmV0IENPVklEIFNlbnRpbWVudCIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShkcGx5cikKbGlicmFyeShsdWJyaWRhdGUpCmxpYnJhcnkoY29ycnIpCmxpYnJhcnkoaGF2ZW4pCmBgYAoKCgoKUmVhZCBpbiBkYXRhIGZpbGUgIAoKYGBge3J9CgpmaXJtcyA8LSByZWFkX2R0YSgnLi4vZGF0YS9maXJtcXVhcnRlcl8yMDIycTEuZHRhJykKZmlybXMgCgpgYGAKCgpGaW5kIGVudHJpZXMgd2hvc2UgQ09WSUQgTmV0IFNlbnRpbWVudCBpc24ndCAwCgpgYGB7cn0KTm9uWmVyb19GaXJtcyA8LSBmaXJtcyB8PiAKICAgICAgZmlsdGVyKGBDb3ZpZF9OZXRfU2VudGltZW50YCAhPSAwKSB8PiAKICAgICAgZmlsdGVyKGhxY291bnRyeWNvZGUgPT0gJ1VTJykgfD4gCiAgICAgIG11dGF0ZShkYXRlX2Vhcm5pbmdzY2FsbCA9IGRteShkYXRlX2Vhcm5pbmdzY2FsbCkpIAogICAgICAKTm9uWmVyb19GaXJtcyAKYGBgCgoKRmluZCBmaXJtcyAoYW5kIHRoZWlyIGVhcm5pbmdzIGNhbGxzKSB0aGUgbGFyZ2VzdCBEZWx0YXMgaW4gdGhlaXIgTmV0IENPVklEIFNlbnRpbWVudHMgb3ZlciB0aW1lLgoKYGBge3J9CgpNaW5fTWF4X05ldF9DT1ZJRF9TZW50aW1lbnRzIDwtIE5vblplcm9fRmlybXMgfD4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwX2J5KGNvbXBhbnlfbmFtZSkgfD4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0ZShNaW5fTmV0X0NPVklEX1NlbnRpbWVudCA9IG1pbihDb3ZpZF9OZXRfU2VudGltZW50KSkgfD4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0ZShNYXhfTmV0X0NPVklEX1NlbnRpbWVudCA9IG1heChDb3ZpZF9OZXRfU2VudGltZW50KSkgfD4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0ZShEZWx0YV9OZXRfQ09WSURfU2VudGltZW50ID0gTWF4X05ldF9DT1ZJRF9TZW50aW1lbnQgLSBNaW5fTmV0X0NPVklEX1NlbnRpbWVudCkgfD4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmFuZ2UoZGVzYyhEZWx0YV9OZXRfQ09WSURfU2VudGltZW50KSkKICAKTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cyAgCgp3cml0ZV9jc3YoTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cywgJy4uL2RhdGEvTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cy5jc3YnKQoKYGBgCgoKCgoKRmluZCB0b3AgZmlybXMgd2l0aCB0aGUgbGFyZ2VzdCBEZWx0YXMgaW4gdGhlaXIgTmV0IENPVklEIFNlbnRpbWVudHMgb3ZlciB0aW1lLgoKCmBgYHtyfQoKVG9wX0Zpcm1zIDwtIE1pbl9NYXhfTmV0X0NPVklEX1NlbnRpbWVudHMgIHw+IAogICAgICAgICAgICAgICAgICBkaXN0aW5jdChjb21wYW55X25hbWUpICAKVG9wX0Zpcm1zCgp3cml0ZV9jc3YoVG9wX0Zpcm1zLCAnLi4vZGF0YS9Ub3BfRmlybXMuY3N2JykKCgpgYGAKYGBge3J9CgpEYXRlc19NaW5fTWF4X05ldF9DT1ZJRF9TZW50aW1lbnRzIDwtIE1pbl9NYXhfTmV0X0NPVklEX1NlbnRpbWVudHMgfD4gCiAgICAgICAgICBncm91cF9ieShjb21wYW55X25hbWUpIHw+IAogICAgICAgICAgZmlsdGVyKENvdmlkX05ldF9TZW50aW1lbnQgPT0gTWluX05ldF9DT1ZJRF9TZW50aW1lbnQgfCBDb3ZpZF9OZXRfU2VudGltZW50ID09IE1heF9OZXRfQ09WSURfU2VudGltZW50KSB8PiAKICAgICAgICAgIGFycmFuZ2UoZGVzYyhEZWx0YV9OZXRfQ09WSURfU2VudGltZW50KSkKCkRhdGVzX01pbl9NYXhfTmV0X0NPVklEX1NlbnRpbWVudHMKCgp3cml0ZV9jc3YoRGF0ZXNfTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cywgJy4uL2RhdGEvRGF0ZXNfTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cy5jc3YnKQoKYGBgCgpEdXJhdGlvbiBDYWxjdWxhdGlvbjogRmluZCBob3cgbG9uZyBpdCB0b29rIGVhY2ggZmlybSB0byB0cmF2ZXJzZSB0aGUgRGVsdGEgYmV0d2VlbiBpdHMgbG93ZXN0IGFuZCBoaWdoZXN0IE5ldCBDT1ZJRCBTZW50aW1lbnQ6CgpgYGB7cn0KCiMgSm91cm5leV9EdXJhdGlvbl9NaW5fTWF4X05ldF9DT1ZJRF9TZW50aW1lbnRzIDwtIERhdGVzX01pbl9NYXhfTmV0X0NPVklEX1NlbnRpbWVudHMgfD4gCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBfYnkoY29tcGFueV9uYW1lKSB8PiAKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGUoSm91cm5leV9EdXJhdGlvbiA9IGludGVydmFsKGRhdGVfZWFybmluZ3NjYWxsKSkKIyBKb3VybmV5X0R1cmF0aW9uX01pbl9NYXhfTmV0X0NPVklEX1NlbnRpbWVudHMKYGBgCiAKICAKICAKRmluZCBob3cgbG9uZyBpdCB0b29rIGVhY2ggZmlybSB0byB0cmF2ZXJzZSB0aGUgRGVsdGEgYmV0d2VlbiBpdHMgbG93ZXN0IGFuZCBoaWdoZXN0IE5ldCBDT1ZJRCBTZW50aW1lbnQ6CgpgYGB7cn0KCiMgSm91cm5leV9EdXJhdGlvbiA8LSBNaW5fTWF4X05ldF9DT1ZJRF9TZW50aW1lbnRzIHw+IAojICAgICAgICAgICAgICAgICAgICAgIGdyb3VwX2J5KGNvbXBhbnlfbmFtZSkgfD4gCiMgICAgICAgICAgICAgICAgICAgICAgbXV0YXRlKFN0YXJ0X0RhdGUgPSBNaW5fTWF4X05ldF9DT1ZJRF9TZW50aW1lbnRzJGRhdGVfZWFybmluZ3NjYWxsIHdoZXJlKH5Db3ZpZF9OZXRfU2VudGltZW50PT1taW4ofkNvdmlkX05ldF9TZW50aW1lbnQpKSkgfD4gCiMgICAgICAgICAgICAgICAgICAgICAgbXV0YXRlKEVuZF9EYXRlID0gTWluX01heF9OZXRfQ09WSURfU2VudGltZW50cyRkYXRlX2Vhcm5pbmdzY2FsbCB3aGVyZSh+Q292aWRfTmV0X1NlbnRpbWVudD09bWF4KH5Db3ZpZF9OZXRfU2VudGltZW50KSkpIHw+IAojICAgICAgICAgICAgICAgICAgICAgIG11dGF0ZShKb3VybmV5X0R1cmF0aW9uID0gRW5kX0RhdGUgLSBTdGFydF9EYXRlKSB8PiAKIyAgICAgICAgICAgICAgICAgICAgICAgYXJyYW5nZShKb3VybmV5X0R1cmF0aW9uKQojICAgICAKIyBKb3VybmV5X0R1cmF0aW9uCgpgYGAKCgo=